/**************************************************************************
File:        batchprocessor.h
Description:
 
Copyright:   (C) 2001 by ZJ Laczik
Email:       Zsolt.Laczik@eng.ox.ac.uk
****************************************************************************
Change log:
   begin      Mon Mar 19 2001
   15/2/2012	QT4 update
***************************************************************************/


#ifndef BATCHPROCESSOR_H
#define BATCHPROCESSOR_H

#include <QObject>
#include <QWidget>

/**
  *@author ZJ Laczik
  */

class BatchProcessor : public QObject  {
   Q_OBJECT
public: 
	BatchProcessor(QWidget *parent=0);
	~BatchProcessor();
public slots:
  void NewBatchFnDefined(const char *);
  void Run();
  void Stop();
  void MoveXTo(float pos) { emit(SigMoveXTo(pos)); } ;
  void MoveYTo(float pos) { emit(SigMoveYTo(pos)); } ;
  void MoveZTo(float pos) { emit(SigMoveZTo(pos)); } ;
  void MoveTo(float x, float y, float z) { emit(SigMoveTo(x,y,z)); } ;
  void Fire() { emit(SigFire()); } ;
  void Burst() { emit(SigBurst()); } ;
signals:
  void StatusMsg(const QString & message, bool);
  void Running(bool state);
  void SigMoveXTo(float pos);
  void SigMoveYTo(float pos);
  void SigMoveZTo(float pos);
  void SigMoveTo(float x, float y, float z);
  void SigFire();
  void SigBurst();
private:
  QString mBatchFnLibName;
  void * batchfn_lib_handle;
};


#endif
